/*#include <stdio.h>//数组冒泡排序从小到大
int main()
{
    int arr[10]={0};
    int sz=sizeof(arr)/sizeof(arr[0]);
    for(int i=0;i<=9;i++)
    {
        scanf("%d",&arr[i]);
    }
    for(int j=0;j<sz-1;j++)//外层循环控制比较轮数
    {
       for(int i=0;i<sz-1-j;i++)//内层循环控制每一轮比较的次数
       {
           if(arr[i]>arr[i+1])//如果前面的数大于后面的数，则交换
           {
               int mid=arr[i];
               arr[i]=arr[i+1];
               arr[i+1]=mid;
           }
       } 
    }
    for(int i=0;i<=9;i++)
    {
        printf("%d",arr[i]);
    }
    return 0;
}*/


/*#include <stdio.h>//输⼊⼀个整数n，打印对应2*n-1⾏的菱形图案，
//⽐如，输⼊7，图案总共13⾏
int main()
{
    int arr[10]={0};
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n-1;i++)
    {
        for(int j=1;j<=n-i;j++)
        {
            printf(" ");
        }
        for(int j=1;j<=2*i-1;j++)
        {
            printf("*");
        }
        printf("\n");
    }
    for(int i=n;i>=1;i--)
    {
        for(int j=1;j<=n-i;j++)
        {
            printf(" ");
        }
        for(int j=1;j<=2*i-1;j++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}*/


/*#include <stdio.h>//猜数字游戏
#include <stdlib.h>
#include <time.h>
int main()
{
    srand((unsigned int)time(NULL));//随机数种子
    int random=rand()%100+1;//生成1~100的随机数
    int n=0;
    while(1)
    {
        printf("give a number you want to guess:\n");
        scanf("%d",&n);
        if(n>random)
        {
            printf("too big\n");
        }
        else if(n<random)
        {
            printf("too small\n");
        }
        else if(n==random)
        {
            printf("you are right\n");
            break;
        }
    }
    return 0;

}*/


#include <stdio.h>//一个简化的线性回归模型的参数更新过程
int main()
{
    double weight=0.1;
    double study_rate=0.01;
    int a,b;
    scanf("%d  %d",&a,&b);
    for(int i=1;i<=5;i++)
    {
        double prediction=weight*a;
        double error=prediction-b;
        double loss=0.5*error*error;
        double gradient=a*error;
        weight=weight-study_rate*gradient;
        printf("diedai %d:sunshi=%.6f,renew_weight=%.6f\n",i,loss,weight);
    }
    return 0;
}